test(start-client-core): type regression tests for createServerFn GET validator inference (fixes #7671)#7721
Open
tsushanth wants to merge 1 commit into
Conversation
… GET validator inference
Guards against ctx.data resolving to `unknown` when a StandardSchema or
parse-method validator is used with `createServerFn({ method: 'GET' })`.
Three cases covered:
- bare StandardSchemaV1 object validator → ctx.data inferred correctly
- parse-method validator (zod v3 shape) → ctx.data inferred correctly
- combined StandardSchema + parse validator (zod 3.25+ shape) → ctx.data inferred correctly
Closes TanStack#7671
Contributor
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThree new type-level tests were added to createServerFn.test-d.ts to verify TypeScript correctly infers ctx.data as {id: string} for validators using ~standard metadata, parse methods, or both, addressing a prior regression to unknown type inference. ChangesValidator inference regression tests
Estimated code review effort: 1 (Trivial) | ~5 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds three type-level regression tests covering the
ctx.datatype inference regression reported in #7671, wherecreateServerFn({ method: 'GET' }).validator(schema)causedctx.datato resolve asunknowninstead of the schema's output type.Cases covered:
{ '~standard': { types, validate } }shape{ parse(input: unknown): T }(theAnyValidatorObjpath)~standardand.parseAll three pass on the current HEAD (1.170.12) with TS 5.9, confirming either: (a) the regression was fixed between 1.168.24 and now, or (b) it's environment/TS-version specific. These tests guard against future regressions.
Closes #7671
Summary by CodeRabbit
datainstead of falling back tounknown.